Software Architectural Analysis : An Experience
نویسندگان
چکیده
As the software marketplace becomes more competitive, customers and developers demand more from their products. Software quality is now seldom measured solely in terms of exe-cutable features. Non-functional qualities, such as portability, modiiability, extendibility, etc. are becoming increasingly important in the success of a software product. Software architecture analysis is based upon the assumption that the product's architecture is responsible for a substantial amount of its non-functional qualities. Making such analyses is important because they represent a relatively low-cost means of improving a product early in the software development life cycle, or in determining directions for product evolution later in the life cycle. Moreover if architectural analysis is done in the design stage and maintained in every stage of the development of the product then it also constitutes a very eeective tool for communication within the development team. This paper presents the experience of applying SAAM (Software Architecture Analysis Method) to the analysis and evaluation of a commercial revision control system. The methodology is described, concentrating on: 1) the usage scenarios of interest to the various users, developers, and administrators of the system; 2) a technique for characterizing the system at an architectural level; 3) the evaluation and recommendations made, and their impact on the software development company. 1 Software Architecture Software quality is seldom measured solely in term of executable functions. It invariably includes non-functional qualities like portabil-ity, extendibility, modiiability .. .This demand for non-functional qualities comes from many sources, among them: software systems are getting larger and more complex; software development companies are attempting to develop product families rather than just single products ; networks of heterogeneous machines and protocols are now common, the complexities of new problems require that software tools be integrated in a more eecient way. Not only does this have impact on the use of a software prod
منابع مشابه
Integrating Model-Checking Architectural Analysis and Validation in a Real Software Life-Cycle
In this paper we describe the use of a model-checking based tool, Charmy, in an industrial software development environment. The goal of the project is to model and analyze the software architecture of a software system currently under development. We have defined and formally checked its overall architecture. By zooming into relevant subsystems we have been able to identify a set of uncorrect ...
متن کاملEmbedding architectural support in industry
Software architecture plays a vital role in the development (and hence maintenance) of large complex systems with a long lifetime. It is therefore required that the software architecture is also maintained, i.e. sufficiently documented, clearly communicated, and explicitly controlled. In our experience, these requirements cannot be met without appropriate support. Commercial-off-the-shelf suppo...
متن کاملA Cooperative Coevolution Approach to Automate Pattern-based Software Architectural Synthesis
To reuse successful experience in software architecture design, architects use architectural patterns as reusable architectural knowledge for architectural synthesis. However, it has been observed that the resulting architecture does not always conform to the initial architectural patterns employed. Architectural synthesis using architectural patterns is also recognized as a challenging task, e...
متن کاملA New Algorithm for Performance Evaluation of Homogeneous Architectural Styles
Software architecture is considered one of the most important indices of software engineering today. Software Architecture is a technical description of a system indicating its component structures and their relationships, and is the principles and rules governing designing. The success of the software depends on whether the system can satisfy the quality attributes. One of the most critical as...
متن کاملA New Algorithm for Performance Evaluation of Homogeneous Architectural Styles
Software architecture is considered one of the most important indices of software engineering today. Software Architecture is a technical description of a system indicating its component structures and their relationships, and is the principles and rules governing designing. The success of the software depends on whether the system can satisfy the quality attributes. One of the most critical as...
متن کاملUsing Multiple Views to Model and Analyze Software Architecture: An Experience Report
Architectural modeling and analysis is a critical phase in developing large and complex software systems. The usefulness of multiple views has likewise long been recognized. In this experience report, we explain how we used two ADLs to model a system initially described in UML. The system (SCRover) is designed and built in close collaboration with NASA’s Jet Propulsion Laboratory, using their M...
متن کامل